devices have been released.
"""
if self.dom is None: return 0
- if self.restart_state == STATE_RESTART_PENDING and self.console:
- self.console.deregisterChannel()
+ if self.console:
+ if self.restart_pending():
+ self.console.deregisterChannel()
+ else:
+ self.console.close()
chan = xend.getDomChannel(self.dom)
if chan:
log.debug("Closing channel to domain %d", self.dom)
def main(self, args):
l = server.xend_consoles()
- print "Dom Port Id"
+ print "Dom Port Id Connection"
for x in l:
info = server.xend_console(x)
d = {}
- d['dom'] = sxp.child(info, 'dst', ['dst', '?', '?'])[1]
- d['port'] = sxp.child_value(info, 'port', '?')
+ d['dom'] = sxp.child(info, 'domain', '?')[1]
+ d['port'] = sxp.child_value(info, 'console_port', '?')
d['id'] = sxp.child_value(info, 'id', '?')
- print "%(dom)3s %(port)4s %(id)3s" % d
+ connected = sxp.child(info, 'connected')
+ if connected:
+ d['conn'] = '%s:%s' % (connected[1], connected[2])
+ else:
+ d['conn'] = ''
+ print "%(dom)3s %(port)4s %(id)3s %(conn)s" % d
xm.prog(ProgConsoles)
console = sxp.child(info, "console")
if not console:
self.err("No console information")
- port = sxp.child_value(console, "port")
+ port = sxp.child_value(console, "console_port")
from xen.util import console_client
console_client.connect("localhost", int(port))